package fatboy.communication;

import java.io.IOException;


public interface Location {
	/**
	 * breaks any connection with remote location
	 **/
	void close();
	/**
	 * sends command to be executed at location
	 * @param o command to be executed
	 * @throws IOException if can not find remote location
	 * @throws ClassNotFoundException if the remote location cannot find the class
	 * @throws SecurityException if permissions fail
	 */
	void sendCommand(Command o) throws IOException, ClassNotFoundException,
										SecurityException;
	/**
	 * gets return value
	 * @return return value from most recently run command
	 * @throws IOException if can not find remote location
	 */
	Object recieveReturn() throws IOException;
	public boolean isHere();
}
